/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package entity.xml;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;

/**
 *
 * @author Quirino
 */
public class EMessaggio implements Comparable<EMessaggio> {

    private int ID;
    private String contenuto;
    private EUtente mittente;
    private ArrayList<EUtente> destinatario;
    private Date data;
    private int stato;
    private int IDConversazione;
    
    
    public EMessaggio(){
        
        this.destinatario= new ArrayList<EUtente>();
        
    }

    public int getIDConversazione() {
        return IDConversazione;
    }

    public void setIDConversazione(int IDConversazione) {
        this.IDConversazione = IDConversazione;
    }
    
    public int getID() {
        return ID;
    }

    public void setID(int ID) {
        this.ID = ID;
    }

    public String getContenuto() {
        return contenuto;
    }

    public void setContenuto(String contenuto) {
        this.contenuto = contenuto;
    }

    public Date getData() {
        return data;
    }

    public void setData(Date data) {
        this.data = data;
    }

    public ArrayList<EUtente> getDestinatario() {
        return destinatario;
    }

    public void setDestinatario(ArrayList<EUtente> destinatario) {
        this.destinatario = destinatario;
    }

    public EUtente getMittente() {
        return mittente;
    }

    public void setMittente(EUtente mittente) {
        this.mittente = mittente;
    }

    public int getStato() {
        return stato;
    }

    public void setStato(int stato) {
        this.stato = stato;
    }
    
    public void printMsg(){
    /*
        System.out.println("\n");
        System.out.println("==============================");
        System.out.println("ID Msg: " + this.getID() + " ; \n");
        System.out.println("Contenuto Msg: " + this.getContenuto() + " ; \n");
        System.out.println("Nickname-Mittente Msg: " + this.getMittente().getNickname() + " ; \n");
        
        System.out.println("Lista-Destinatari Msg: ===============\n");
        this.printDestinatarioMsg();
        System.out.println("Lista-Destinatari Msg: ===============\n");
        
        SimpleDateFormat formatDate = new SimpleDateFormat("yyyy-MM-dd");
        String dateFormatted = formatDate.format(this.getData().getTime());
        System.out.println("Data(yyyy-mm-dd) Msg: " + dateFormatted + " ; \n");
        System.out.println("Stato Msg: " + this.getStato() + " ; \n");
        System.out.println("IDConversazione Msg: " + this.getIDConversazione() + " ; \n");
        System.out.println("==============================");
        */
    }
    
    public void printDestinatarioMsg(){
        
        for(int i=0; i<this.getDestinatario().size(); i++){
            System.out.println("Nickname-Destinatario Msg: " + this.getDestinatario().get(i).getNickname() + " ; \n");
        }
        
    }

    public int compareTo(EMessaggio o) {
        
        int ret=-1;
        
        if(o!=null){
            if(this.getData().before(o.getData())){
                ret=1;
            }
            else{
                ret=0;
            }
        }
        else{
            ret=-1;
        }
        
        return ret;
        
    }
    
}
